/* 全局样式 - 莫兰迪风格 */
:root {
  --primary: #8b9ca0;
  --primary-light: #a6b5bd;
  --secondary: #d1b6a3;
  --text-primary: #5c6366;
  --text-secondary: #8a8a8a;
  --bg-primary: #f5f5f3;
  --bg-secondary: #e8e8e6;
  --bg-card: #ffffff;
  --border-color: #e8e2dd;
  --success: #a3b18a;
  --warning: #dda15e;
  --danger: #bc6c25;
  --box-shadow: 0 4px 12px rgba(0, 0, 0, 0.05);
  --transition: all 0.3s ease;
  --header-height: 70px; /* 增加顶部导航栏高度 */
  --font-size-base: 15px; /* 基础字体大小 */
  --font-size-lg: 17px; /* 大号字体 */
  --font-size-sm: 14px; /* 小号字体 */
  --font-size-table: 16px; /* 表格字体大小 */
}

html, body {
  height: 100%;
  margin: 0;
  padding: 0;
  font-family: "Helvetica Neue", Helvetica, "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", Arial, sans-serif;
  background-color: var(--bg-primary);
  color: var(--text-primary);
  overflow: hidden;
  font-size: var(--font-size-base);
}

#app {
  height: 100%;
  overflow: hidden;
  margin: 0;
  padding: 0;
}

.el-container {
  height: 100%;
  overflow: hidden;
  margin: 0;
  padding: 0;
}

.el-header {
  background-color: var(--bg-card);
  color: var(--text-primary);
  line-height: var(--header-height);
  box-shadow: var(--box-shadow);
  border-bottom: none;
  position: relative;
  z-index: 10;
  padding: 0;
  margin: 0;
  height: var(--header-height) !important;
}

.el-aside {
  background-color: var(--bg-card);
  color: var(--text-primary);
  box-shadow: var(--box-shadow);
  border-right: none;
  position: relative;
  z-index: 9;
  transition: var(--transition);
  padding: 0;
  margin: 0;
}

.el-main {
  background-color: var(--bg-primary);
  padding: 20px;
  overflow-y: auto;
  height: calc(100vh - var(--header-height));
  margin: 0;
}

/* 确保没有任何边距导致白条 */
body {
  margin: 0;
  padding: 0;
}

/* 确保没有默认边距 */
* {
  box-sizing: border-box;
}

/* 用户头像和下拉菜单样式 */
.el-dropdown-link {
  padding: 8px 0;
  font-size: var(--font-size-base);
}

.avatar-icon {
  margin-top: 5px;
}

.page-container {
  padding: 25px;
  background-color: var(--bg-card);
  border-radius: 12px;
  box-shadow: var(--box-shadow);
  margin-bottom: 20px;
  transition: var(--transition);
  width: 100%;
}

.page-title {
  margin-bottom: 25px;
  font-size: 24px;
  font-weight: 500;
  color: var(--text-primary);
  border-bottom: 1px solid var(--border-color);
  padding-bottom: 15px;
}

.action-bar {
  margin-bottom: 25px;
}

/* 表格样式 */
.el-table {
  margin-top: 15px;
  border-radius: 8px;
  overflow: hidden;
  font-size: var(--font-size-table);
  width: 100% !important;
}

.el-table th {
  font-size: var(--font-size-table);
  font-weight: 500;
  background-color: var(--bg-secondary);
  padding: 12px 0;
}

.el-table td {
  padding: 12px 0;
  font-size: var(--font-size-table);
}

.el-table .cell {
  line-height: 1.5;
  padding-left: 10px;
  padding-right: 10px;
}

.pagination {
  margin-top: 20px;
  text-align: right;
  padding-top: 15px;
  border-top: 1px solid var(--border-color);
}

/* 登录页样式 */
.login-container {
  height: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
  background-color: var(--bg-primary);
  background-image: linear-gradient(135deg, rgba(139, 156, 160, 0.1) 0%, rgba(209, 182, 163, 0.1) 100%);
}

.login-form {
  width: 400px;
  padding: 40px;
  background-color: var(--bg-card);
  border-radius: 12px;
  box-shadow: var(--box-shadow);
  transition: var(--transition);
}

.login-form:hover {
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.08);
}

.login-title {
  text-align: center;
  margin-bottom: 30px;
  font-size: 24px;
  color: var(--text-primary);
}

/* 菜单样式 */
.el-menu {
  border-right: none;
}

.el-menu-item {
  font-size: var(--font-size-base);
  height: 56px;
  line-height: 56px;
}

.el-menu-item.is-active {
  background-color: var(--bg-secondary) !important;
  color: var(--primary) !important;
  position: relative;
}

.el-menu-item.is-active::before {
  content: '';
  position: absolute;
  left: 0;
  top: 0;
  height: 100%;
  width: 4px;
  background-color: var(--primary);
}

.el-menu-item:hover {
  background-color: var(--bg-secondary) !important;
}

.el-submenu .el-menu-item {
  min-width: 0;
}

/* 按钮样式 */
.el-button {
  font-size: var(--font-size-base);
  padding: 10px 20px;
  border-radius: 6px;
}

.el-button--mini {
  padding: 8px 15px;
  font-size: var(--font-size-base);
}

.el-button--primary {
  background-color: var(--primary);
  border-color: var(--primary);
  transition: var(--transition);
}

.el-button--primary:hover,
.el-button--primary:focus {
  background-color: var(--primary-light);
  border-color: var(--primary-light);
  box-shadow: 0 2px 8px rgba(139, 156, 160, 0.3);
}

.el-button--success {
  background-color: var(--success);
  border-color: var(--success);
  transition: var(--transition);
}

.el-button--success:hover {
  box-shadow: 0 2px 8px rgba(163, 177, 138, 0.3);
}

.el-button--danger {
  background-color: var(--danger);
  border-color: var(--danger);
  transition: var(--transition);
}

.el-button--danger:hover {
  box-shadow: 0 2px 8px rgba(188, 108, 37, 0.3);
}

.el-button--text {
  color: var(--primary);
}

/* 卡片样式 */
.el-card {
  border-radius: 12px;
  border: none;
  box-shadow: var(--box-shadow);
  transition: var(--transition);
  margin-bottom: 20px;
  overflow: hidden;
}

.el-card:hover {
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.08);
}

/* 表格样式 */
.el-table--border, .el-table--group {
  border: none;
  box-shadow: var(--box-shadow);
}

.el-table td, .el-table th.is-leaf {
  border-bottom: 1px solid var(--border-color);
}

.el-table::before {
  display: none;
}

/* 弹窗样式 */
.el-dialog {
  border-radius: 12px;
  overflow: hidden;
  box-shadow: 0 12px 32px rgba(0, 0, 0, 0.1);
}

.el-dialog__header {
  padding: 20px 25px;
  border-bottom: 1px solid var(--border-color);
  background-color: var(--bg-secondary);
}

.el-dialog__title {
  font-size: var(--font-size-lg);
  font-weight: 500;
}

.el-dialog__body {
  padding: 30px 25px;
  font-size: var(--font-size-base);
}

/* 表单样式 */
.el-form-item__label {
  font-size: var(--font-size-base);
  color: var(--text-secondary);
}

.el-form-item__content {
  font-size: var(--font-size-base);
}

.el-input__inner {
  border-color: var(--border-color);
  border-radius: 6px;
  transition: var(--transition);
  height: 40px;
  font-size: var(--font-size-base);
}

.el-input__inner:focus {
  border-color: var(--primary);
  box-shadow: 0 0 0 2px rgba(139, 156, 160, 0.2);
}

.el-textarea__inner {
  font-size: var(--font-size-base);
  border-color: var(--border-color);
  border-radius: 6px;
}

.el-textarea__inner:focus {
  border-color: var(--primary);
  box-shadow: 0 0 0 2px rgba(139, 156, 160, 0.2);
}

/* 标签样式 */
.el-tag {
  font-size: var(--font-size-base);
  padding: 0 10px;
  height: 28px;
  line-height: 26px;
}

.el-tag--success {
  background-color: rgba(163, 177, 138, 0.1);
  border-color: var(--success);
  color: var(--success);
  border-radius: 4px;
}

.el-tag--danger {
  background-color: rgba(188, 108, 37, 0.1);
  border-color: var(--danger);
  color: var(--danger);
  border-radius: 4px;
}

/* 分页样式 */
.el-pagination {
  font-size: var(--font-size-base);
}

.el-pagination.is-background .el-pager li:not(.disabled).active {
  background-color: var(--primary);
  box-shadow: 0 2px 6px rgba(139, 156, 160, 0.3);
}

.el-pagination.is-background .el-pager li {
  font-size: var(--font-size-base);
  min-width: 32px;
  height: 32px;
  line-height: 32px;
}

/* 仪表盘卡片样式优化 */
.dashboard-card {
  transition: var(--transition);
}

.dashboard-card:hover {
  transform: translateY(-3px);
}

.card-item-value {
  font-size: 28px;
  font-weight: 500;
  color: var(--primary);
  margin-top: 10px;
  text-shadow: 0 1px 2px rgba(0, 0, 0, 0.05);
}

/* 修复可能的白边问题 */
.el-main {
  padding: 20px;
  margin: 0;
}

.el-row {
  margin-left: 0 !important;
  margin-right: 0 !important;
}

.el-table__header-wrapper,
.el-table__body-wrapper {
  margin: 0;
  padding: 0;
}

/* 音频播放器样式 */
.audio-player-container {
  padding: 10px 0;
}

audio::-webkit-media-controls-panel {
  background-color: var(--bg-secondary);
}

/* 滚动条样式 */
::-webkit-scrollbar {
  width: 8px;
  height: 8px;
}

::-webkit-scrollbar-track {
  background: var(--bg-secondary);
  border-radius: 4px;
}

::-webkit-scrollbar-thumb {
  background: var(--primary-light);
  border-radius: 4px;
}

::-webkit-scrollbar-thumb:hover {
  background: var(--primary);
} 